package wangyiyunclass.io.demo1;

import java.io.*;

/*
 *  1.实现对.txt结尾文件复制
	2.实现对音频文件复制


		文件复制的过程：
			1.先读取文件
			2.在向指定目录输出文件
 */
public class InToOutDemo {

	public static void main(String[] args) throws IOException {
		// 1. 创建新文件
		File file = new File("hello(2).txt");
		file.createNewFile();
		// 2. 读取旧文件
		InputStream is = new FileInputStream("hello.txt");
		// 3. 写入新文件
		OutputStream os = new FileOutputStream(file);

		byte[] bytes = new byte[1024];
		int num = 0;
		while((num = is.read(bytes)) != -1) {
			// 每读取一次向指定文件中写入一次
			os.write(bytes, 0, num);
			os.flush(); // 用于刷新输出缓冲区,直接将缓冲区中的数据输出,而不必等到缓冲区满
		}
		is.close();
		os.close();
	}


	public static void main2(String[] args) throws Exception {
		//1.先读取文件
//		FileInputStream fis = new FileInputStream("斗破苍穹.txt");
		FileInputStream fis = new FileInputStream("H:\\Java\\OOO\\曹小聪 - 樱花树下的约定（原版说唱）.mp3");
		//2.在向指定目录输出文件
		FileOutputStream fos = new FileOutputStream("H:\\ss.mp3");

		byte[] by = new byte[1024*8];
		int num = 0;
		//读取文件
		while((num = fis.read(by))!=-1){
			//每读取一次向指定文件中写入一次
			fos.write(by, 0, num);
			fos.flush();//刷新缓冲区
		}
		//关闭流
		fos.close();
		fis.close();


	}
}
